package com.cac.demo.newCode.sorting.dto;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * 发送CEMOP数据准备
 */
@Data
public class SendDTO {
    /**
     * 用户ID
     */
    private String userId;
    /**
     * 交接单id
     */
    private String momWmsDeliveryPlanId;
    /**
     * 台账id
     */
    private String momWmsItemInventoryId;
    /**
     * 批量的时候使用
     */
    private List<SendDTO> sendDTOS;
    /**
     * 最后使用的jsonArray,用JSONObject来装属性
     */
    private JSONObject jsonObject;

    private JSONArray jsonArray;


    /**
     * 自动装配自动里的数据
     * @return
     */
    public JSONObject getJsonObjectDetails() {
        JSONObject object = new JSONObject();
        object.put("userId",this.userId);
        object.put("momWmsDeliveryPlanId",this.momWmsDeliveryPlanId);
        object.put("momWmsItemInventoryId",this.momWmsItemInventoryId);
        this.jsonObject = object;
        return jsonObject;
    }
    public JSONArray getJsonArrayDetail(){
        JSONArray array = new JSONArray();
        List<SendDTO> list = this.getSendDTOS();
        for (SendDTO sendDTO : list) {
            JSONObject jsonObject1 = sendDTO.getJsonObject();
            array.add(jsonObject1);
        }
        this.jsonArray = array;
        return jsonArray;
    }
    //测试
    @Test
    public void test(){
        SendDTO sendDTO = new SendDTO();
        sendDTO.setUserId("111");
        sendDTO.setMomWmsItemInventoryId("222");
        sendDTO.setMomWmsDeliveryPlanId("333");
        sendDTO.getJsonObjectDetails();
        System.out.println(sendDTO);

        SendDTO sendDTO1 = new SendDTO();
        sendDTO1.setUserId("444");
        sendDTO1.setMomWmsItemInventoryId("555");
        sendDTO1.setMomWmsDeliveryPlanId("666");
        sendDTO1.getJsonObjectDetails();

        ArrayList<SendDTO> sendDTOS = new ArrayList<>();
        sendDTOS.add(sendDTO);
        sendDTOS.add(sendDTO1);
        System.out.println(sendDTO1);


        SendDTO sendDTO2 = new SendDTO();
        sendDTO2.setSendDTOS(sendDTOS);
        sendDTO2.getJsonArrayDetail();
        System.out.println(sendDTO2.getJsonArray());
    }
}
